package com.guldan.jaina.utils;

import com.guldan.core.utils.DateUtil;
import com.guldan.jaina.dto.citizenbank.CitizenBankDTO;
import com.guldan.jaina.dto.citizenbatchupdate.CitizenBatchUpdateDTO;
import com.guldan.jaina.dto.citizenfail.CitizenFailDTO;
import com.guldan.jaina.dto.citizeninfo.CitizenInfoDTO;
import com.guldan.jaina.dto.citizenproperty.CitizenPropertyDTO;
import com.guldan.mapper.db.entity.*;

/**
 * Created by Silas.
 * Date: 2016/11/7
 * Time: 22:34
 */
public class CitizenInfoDomainConvertUtils {


    public static CitizenInfoDTO convert(CitizenInfo entity) {
        CitizenInfoDTO dto = new CitizenInfoDTO();
        dto.setCitizenInfoId(entity.getCitizenInfoId());
        dto.setIdentTypeCode(entity.getIdentTypeCode());
        dto.setIdentNumber(entity.getIdentNumber());
        dto.setName(entity.getName());
        dto.setNameZw(entity.getNameZw());
        dto.setGenderCode(entity.getGenderCode());
        dto.setNationCode(entity.getNationCode());
        dto.setDegreeCode(entity.getDegreeCode());
        dto.setAge(entity.getAge());
        dto.setBirthday(DateUtil.toLocaleString(entity.getBirthday(), DateUtil.DEFAULT_DATE_FORMAT));
        dto.setAddress(entity.getAddress());
        dto.setAddressZw(entity.getAddressZw());
        dto.setTelephone(entity.getTelephone());
        dto.setAreaId(entity.getAreaId());
        dto.setCitizenInfoTypeCode(entity.getCitizenInfoTypeCode());
        dto.setHouseHoldTypeCode(entity.getHouseHoldTypeCode());
        dto.setMaster(entity.getIsMaster());
        dto.setRelationCode(entity.getRelationCode());
        dto.setHouseholdId(entity.getHouseholdId());
        dto.setCheck(entity.getIsCheck());
        dto.setRemark(entity.getRemark());
        dto.setState(entity.getState());
        dto.setChecker(entity.getChecker());
        dto.setCheckDate(DateUtil.toLocaleString(entity.getCheckDate(), DateUtil.DEFAULT_DATE_FORMAT));

        dto.setCreateTime(DateUtil.toLocaleString(entity.getCreateTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setCreator(entity.getCreator());
        dto.setDelete(entity.getIsDelete());
        dto.setDisabled(entity.getDisabled());
        dto.setModifier(entity.getModifier());
        dto.setModifyTime(DateUtil.toLocaleString(entity.getModifyTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));

        return dto;
    }


    public static CitizenPropertyDTO convert(CitizenProperty entity) {
        CitizenPropertyDTO dto = new CitizenPropertyDTO();

        dto.setCitizenPropertyId(entity.getCitizenPropertyId());
        dto.setCitizenInfoId(entity.getCitizenInfoId());
        dto.setOrphan(entity.getIsOrphan());
        dto.setOrphanTypeCode(entity.getOrphanTypeCode());
        dto.setUniqChild(entity.getIsUniqChild());
        dto.setHead(entity.getIsHead());
        dto.setDeform(entity.getIsDeform());
        dto.setArmyReturn(entity.getIsArmyReturn());
        dto.setOld(entity.getIsOld());
        dto.setSpecial(entity.getIsSpecial());
        dto.setReservoirsim(entity.getIsReservoirsim());

        dto.setDisabled(entity.getDisabled());
        dto.setCreateTime(DateUtil.toLocaleString(entity.getCreateTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setModifyTime(DateUtil.toLocaleString(entity.getModifyTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setDelete(entity.getIsDelete());
        dto.setCreator(entity.getCreator());
        dto.setModifier(entity.getModifier());

        return dto;
    }


    public static CitizenBankDTO convert(CitizenBank entity) {
        CitizenBankDTO dto = new CitizenBankDTO();
        dto.setCitizenBankId(entity.getCitizenBankId());
        dto.setCitizenInfoId(entity.getCitizenInfoId());
        dto.setBankCode(entity.getBankCode());
        dto.setBankNumber(entity.getBankNumber());

        dto.setDisabled(entity.getDisabled());
        dto.setCreateTime(DateUtil.toLocaleString(entity.getCreateTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setModifyTime(DateUtil.toLocaleString(entity.getModifyTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setDelete(entity.getIsDelete());
        dto.setCreator(entity.getCreator());
        dto.setModifier(entity.getModifier());

        return dto;
    }


    public static CitizenFailDTO convert(CitizenFail entity) {
        CitizenFailDTO dto = new CitizenFailDTO();

        dto.setId(entity.getId());
        dto.setBatchId(entity.getBatchId());
        dto.setName(entity.getName());
        dto.setNameZw(entity.getNameZw());
        dto.setIdentTypeName(entity.getIdentTypeName());
        dto.setIdentNumber(entity.getIdentNumber());
        dto.setGenderName(entity.getGenderName());
        dto.setNationName(entity.getNationName());
        dto.setDegreeName(entity.getDegreeName());
        dto.setAddress(entity.getAddress());
        dto.setAddressZw(entity.getAddressZw());
        dto.setTelephone(entity.getTelephone());
        dto.setAreaId(entity.getAreaId());
        dto.setAreaName(entity.getAreaName());
        dto.setCreatorAreaId(entity.getCreatorAreaId());
        dto.setMaster(entity.getIsMaster());
        dto.setRelationName(entity.getRelationName());
        dto.setHouseholdRegisterNumber(entity.getHouseholdRegisterNumber());
        dto.setHouseholdNumber(entity.getHouseholdNumber());
        dto.setCitizenInfoTypeName(entity.getCitizenInfoTypeName());
        dto.setHouseHoldTypeName(entity.getHouseHoldTypeName());
        dto.setBankName(entity.getBankName());
        dto.setBankNumber(entity.getBankNumber());
        dto.setFailReason(entity.getFailReason());
        dto.setFileUrl(entity.getFileUrl());


        dto.setCreateTime(DateUtil.toLocaleString(entity.getCreateTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setCreator(entity.getCreator());
        dto.setDelete(entity.getIsDelete());
        dto.setDisabled(entity.getDisable());
        dto.setModifier(entity.getModifier());
        dto.setModifyTime(DateUtil.toLocaleString(entity.getModifyTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));

        return dto;
    }

    public static CitizenBatchUpdateDTO convert(CitizenBatchUpdate entity) {
        CitizenBatchUpdateDTO dto = new CitizenBatchUpdateDTO();

        dto.setId(entity.getId());
        dto.setBatchId(entity.getBatchId());
        dto.setOriName(entity.getOriName());
        dto.setName(entity.getName());
        dto.setIdentNumber(entity.getIdentNumber());
        dto.setCitizenInfoId(entity.getCitizenInfoId());
        dto.setCreatorAreaId(entity.getCreatorAreaId());

        dto.setBankCode(entity.getBankCode());
        dto.setBankName(entity.getBankName());
        dto.setBankNumber(entity.getBankNumber());

        dto.setNewAreaCode(entity.getNewAreaCode());

        dto.setFailReason(entity.getFailReason());
        dto.setType(entity.getType());
        dto.setSuccess(entity.getIsSuccess());

        dto.setCreateTime(DateUtil.toLocaleString(entity.getCreateTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));
        dto.setCreator(entity.getCreator());
        dto.setDelete(entity.getIsDelete());
        dto.setDisabled(entity.getDisable());
        dto.setModifier(entity.getModifier());
        dto.setModifyTime(DateUtil.toLocaleString(entity.getModifyTime(), DateUtil.YYYY_MM_DD_HH_DD_SS));

        return dto;
    }

}
